package com.yungu.swift.system.sys.model.dto;

import com.yungu.swift.base.model.BaseDto;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;


/**
 * 线路表
 **/
public class SysWayDto extends BaseDto {

    /**
     * 起点uuid
     **/
    private String originSiteUuid;

    /**
     * 终点uuid
     **/
    private String destSiteUuid;

    /**
     * 起始运营时间
     **/
    private Date startTime;

    /**
     * 终止运营时间
     **/
    private Date endTime;

    /**
     * 线路有效预约时间
     **/
    private Integer validSubMinutes;

    /**
     * 动态派单限制时间（如30分钟）
     **/
    private Integer assignConfineMinutes;

    /**
     * 线路耗时（单位：分钟）
     **/
    private Integer consumeMinutes;

    /**
     * 取消规则
     **/
    private String cancelRule;

    /**
     * 有效状态：0正常 -1无效
     **/
    private Integer state;

    /**
     * 开通状态：1开通 2关闭
     **/
    private Integer status;

    /**
     * 跨城小件开通状态：1开通 2关闭
     **/
    private Integer parcelStatus;

    /**
     * 跨城小件取消规则
     **/
    private String parcelCancelRule;

    /**
     * 跨城小件经营规则 包车可带货 带货可包车
     */
    private String parcelManageRule;

    /**
     * 司机可接小件数量限制
     */
    private Integer parcelNumLimit;

    /**
     * 线路类型 1普通线路  2机场专线
     */
    private Integer wayType;

    /**
     * 整点出发 0未开启 1开启
     */
    private Integer integralTimeDepart;

    /**
     * 半点出发 0未开启 1开启
     */
    private Integer halfTimeDepart;

    /**
     * 取消费
     */
    private double crosstownCancelFee;

    /*辅助字段*/
    private String originName;//起点名称
    private Integer originType;//起点类型
    private Double originLng;//起点经度
    private Double originLat;//起点纬度
    private String originCityNo;//起点城市编号
    private String originCityName;//起点城市名称
    private String originIncludeAreas;//起点包含区域

    private String destName;//终点名称
    private Integer destType;//终点类型
    private Double destLng;//终点经度
    private Double destLat;//终点纬度
    private String destCityNo;//终点城市编号
    private String destCityName;//终点城市名称
    private String destIncludeAreas;//终点城市包含区域
    //小件费用
    private Object parcelPrice;

    private List<SysWayCalculationDto> calculations;//不同车型价格列表

    /**
     * 围栏集合
     */
    private List<SysWayFenceDto> wayFenceList;

    /**
     * 夜间加价集合
     */
    private List<SysWayNightFareDto> nightFareList;

    public String getOriginSiteUuid() {
        return originSiteUuid;
    }

    public void setOriginSiteUuid(String originSiteUuid) {
        this.originSiteUuid = originSiteUuid;
    }

    public String getDestSiteUuid() {
        return destSiteUuid;
    }

    public void setDestSiteUuid(String destSiteUuid) {
        this.destSiteUuid = destSiteUuid;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getValidSubMinutes() {
        return validSubMinutes;
    }

    public void setValidSubMinutes(Integer validSubMinutes) {
        this.validSubMinutes = validSubMinutes;
    }

    public Integer getAssignConfineMinutes() {
        return assignConfineMinutes;
    }

    public void setAssignConfineMinutes(Integer assignConfineMinutes) {
        this.assignConfineMinutes = assignConfineMinutes;
    }

    public Integer getConsumeMinutes() {
        return consumeMinutes;
    }

    public void setConsumeMinutes(Integer consumeMinutes) {
        this.consumeMinutes = consumeMinutes;
    }

    public String getCancelRule() {
        return cancelRule;
    }

    public void setCancelRule(String cancelRule) {
        this.cancelRule = cancelRule;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getParcelStatus() {
        return parcelStatus;
    }

    public void setParcelStatus(Integer parcelStatus) {
        this.parcelStatus = parcelStatus;
    }

    public String getParcelCancelRule() {
        return parcelCancelRule;
    }

    public void setParcelCancelRule(String parcelCancelRule) {
        this.parcelCancelRule = parcelCancelRule;
    }

    public String getParcelManageRule() {
        return parcelManageRule;
    }

    public void setParcelManageRule(String parcelManageRule) {
        this.parcelManageRule = parcelManageRule;
    }

    public Integer getParcelNumLimit() {
        return parcelNumLimit;
    }

    public void setParcelNumLimit(Integer parcelNumLimit) {
        this.parcelNumLimit = parcelNumLimit;
    }

    public Integer getWayType() {
        return wayType;
    }

    public void setWayType(Integer wayType) {
        this.wayType = wayType;
    }

    public Integer getIntegralTimeDepart() {
        return integralTimeDepart;
    }

    public void setIntegralTimeDepart(Integer integralTimeDepart) {
        this.integralTimeDepart = integralTimeDepart;
    }

    public Integer getHalfTimeDepart() {
        return halfTimeDepart;
    }

    public void setHalfTimeDepart(Integer halfTimeDepart) {
        this.halfTimeDepart = halfTimeDepart;
    }

    public double getCrosstownCancelFee() {
        return crosstownCancelFee;
    }

    public void setCrosstownCancelFee(double crosstownCancelFee) {
        this.crosstownCancelFee = crosstownCancelFee;
    }

    public String getOriginName() {
        return originName;
    }

    public void setOriginName(String originName) {
        this.originName = originName;
    }

    public Integer getOriginType() {
        return originType;
    }

    public void setOriginType(Integer originType) {
        this.originType = originType;
    }

    public Double getOriginLng() {
        return originLng;
    }

    public void setOriginLng(Double originLng) {
        this.originLng = originLng;
    }

    public Double getOriginLat() {
        return originLat;
    }

    public void setOriginLat(Double originLat) {
        this.originLat = originLat;
    }

    public String getOriginCityNo() {
        return originCityNo;
    }

    public void setOriginCityNo(String originCityNo) {
        this.originCityNo = originCityNo;
    }

    public String getOriginCityName() {
        return originCityName;
    }

    public void setOriginCityName(String originCityName) {
        this.originCityName = originCityName;
    }

    public String getOriginIncludeAreas() {
        return originIncludeAreas;
    }

    public void setOriginIncludeAreas(String originIncludeAreas) {
        this.originIncludeAreas = originIncludeAreas;
    }

    public String getDestName() {
        return destName;
    }

    public void setDestName(String destName) {
        this.destName = destName;
    }

    public Integer getDestType() {
        return destType;
    }

    public void setDestType(Integer destType) {
        this.destType = destType;
    }

    public Double getDestLng() {
        return destLng;
    }

    public void setDestLng(Double destLng) {
        this.destLng = destLng;
    }

    public Double getDestLat() {
        return destLat;
    }

    public void setDestLat(Double destLat) {
        this.destLat = destLat;
    }

    public String getDestCityNo() {
        return destCityNo;
    }

    public void setDestCityNo(String destCityNo) {
        this.destCityNo = destCityNo;
    }

    public String getDestCityName() {
        return destCityName;
    }

    public void setDestCityName(String destCityName) {
        this.destCityName = destCityName;
    }

    public String getDestIncludeAreas() {
        return destIncludeAreas;
    }

    public void setDestIncludeAreas(String destIncludeAreas) {
        this.destIncludeAreas = destIncludeAreas;
    }

    public Object getParcelPrice() {
        return parcelPrice;
    }

    public void setParcelPrice(Object parcelPrice) {
        this.parcelPrice = parcelPrice;
    }

    public List<SysWayCalculationDto> getCalculations() {
        return calculations;
    }

    public void setCalculations(List<SysWayCalculationDto> calculations) {
        this.calculations = calculations;
    }

    public List<SysWayFenceDto> getWayFenceList() {
        return wayFenceList;
    }

    public void setWayFenceList(List<SysWayFenceDto> wayFenceList) {
        this.wayFenceList = wayFenceList;
    }

    public List<SysWayNightFareDto> getNightFareList() {
        return nightFareList;
    }

    public void setNightFareList(List<SysWayNightFareDto> nightFareList) {
        this.nightFareList = nightFareList;
    }
}
